உங்கள் பயன்பாடுகளில் திரை நோக்குநிலை மாற்றங்களை திறம்பட கையாள்வது எப்படி என்பதை அறிக, சாதனங்கள் மற்றும் தளங்களில் தடையற்ற பயனர் அனுபவத்தை உறுதிசெய்க.
திரை நோக்குநிலையை முழுமையாகக் கையாளுதல்: சாதன சுழற்சிக்கான ஒரு விரிவான வழிகாட்டி
இன்றைய பல-சாதன உலகில், ஒரு சிறந்த பயனர் அனுபவத்தை வழங்குவதற்கு திரை நோக்குநிலையை நேர்த்தியாகக் கையாள்வது மிகவும் முக்கியம். அது ஒரு ஸ்மார்ட்போன், டேப்லெட் அல்லது ஒரு மடிக்கக்கூடிய சாதனமாக இருந்தாலும், பயனர்கள் தங்கள் சாதனத்தைச் சுழற்றும்போது பயன்பாடுகள் தடையின்றி மாற்றியமைக்க வேண்டும் என்று எதிர்பார்க்கிறார்கள். இந்த வழிகாட்டி, சாதன சுழற்சி கையாளுதல் பற்றிய ஒரு விரிவான கண்ணோட்டத்தை வழங்குகிறது, உங்கள் பயன்பாடுகள் ஏற்புடையதாகவும், பயனர் நட்புடையதாகவும் இருப்பதை உறுதிசெய்ய பல்வேறு தளங்கள் மற்றும் நுட்பங்களை உள்ளடக்கியுள்ளது.
திரை நோக்குநிலையைப் புரிந்துகொள்ளுதல்
திரை நோக்குநிலை என்பது ஒரு சாதனத்தின் திரையில் உள்ளடக்கம் காட்டப்படும் திசையைக் குறிக்கிறது. இரண்டு முதன்மை நோக்குநிலைகள்:
- போர்ட்ரெய்ட் (Portrait): திரை அகலத்தை விட உயரமாக இருக்கும். இது ஸ்மார்ட்போன்களுக்கான வழக்கமான நோக்குநிலை.
- லேண்ட்ஸ்கேப் (Landscape): திரை உயரத்தை விட அகலமாக இருக்கும். இது வீடியோக்களைப் பார்ப்பதற்கோ அல்லது கேம்ஸ் விளையாடுவதற்கோ பெரும்பாலும் விரும்பப்படுகிறது.
சில சாதனங்களும் பயன்பாடுகளும் இவற்றையும் ஆதரிக்கின்றன:
- ரிவர்ஸ் போர்ட்ரெய்ட் (Reverse Portrait): சாதனத்தை 180 டிகிரி சுழற்றிய போர்ட்ரெய்ட் நோக்குநிலை.
- ரிவர்ஸ் லேண்ட்ஸ்கேப் (Reverse Landscape): சாதனத்தை 180 டிகிரி சுழற்றிய லேண்ட்ஸ்கேப் நோக்குநிலை.
திரை நோக்குநிலை மாற்றங்களை ஏன் கையாள வேண்டும்?
திரை நோக்குநிலை மாற்றங்களைக் கையாளத் தவறினால், பல்வேறு சிக்கல்கள் ஏற்படலாம், அவற்றுள் சில:
- தளவமைப்பு சிக்கல்கள் (Layout problems): கூறுகள் தவறாக அமையலாம், துண்டிக்கப்படலாம் அல்லது ஒன்றன் மேல் ஒன்று படியலாம்.
- தரவு இழப்பு (Data loss): சில சமயங்களில், திரை சுழலும்போது ஆக்டிவிட்டி அல்லது பயன்பாட்டின் நிலை இழக்கப்படலாம்.
- மோசமான பயனர் அனுபவம் (Poor user experience): ஒரு சீரற்ற அல்லது உடைந்த அனுபவம் பயனர்களை எரிச்சலூட்டி, உங்கள் பயன்பாட்டின் நற்பெயருக்குக் களங்கம் விளைவிக்கும்.
- செயல்திறன் சிக்கல்கள் (Performance issues): அடிக்கடி மறு-ரெண்டரிங் மற்றும் தளவமைப்பு கணக்கீடுகள், குறிப்பாக பழைய சாதனங்களில் செயல்திறனைப் பாதிக்கலாம்.
பல்வேறு தளங்களில் திரை நோக்குநிலையக் கையாளுதல்
திரை நோக்குநிலையைக் கையாள்வதற்கான குறிப்பிட்ட நுட்பங்கள் நீங்கள் உருவாக்கும் தளத்தைப் பொறுத்து மாறுபடும். மிகவும் பிரபலமான சில தளங்களைப் பார்ப்போம்:
1. ஆண்ட்ராய்டு (Android)
ஆண்ட்ராய்டு, திரை நோக்குநிலை மாற்றங்களைக் கையாள பல வழிமுறைகளை வழங்குகிறது. மிகவும் பொதுவான அணுகுமுறைகள் பின்வருமாறு:
a. உள்ளமைவு மாற்றங்கள் (Configuration Changes)
இயல்பாக, திரை நோக்குநிலை மாறும்போது ஆண்ட்ராய்டு ஆக்டிவிட்டியை மீண்டும் உருவாக்குகிறது. இதன் பொருள் `onCreate()` முறை மீண்டும் அழைக்கப்பட்டு, முழு தளவமைப்பும் மீண்டும் ஏற்றப்படுகிறது. நோக்குநிலையின் அடிப்படையில் UI-ஐ முழுமையாக மறுகட்டமைக்க இது பயனுள்ளதாக இருந்தாலும், நீங்கள் தளவமைப்பை சற்று சரிசெய்ய வேண்டியிருந்தால் இது திறனற்றதாக இருக்கும்.
ஆக்டிவிட்டி மீண்டும் உருவாக்கப்படுவதைத் தடுக்க, உங்கள் ஆக்டிவிட்டி `orientation` உள்ளமைவு மாற்றத்தை `AndroidManifest.xml` கோப்பில் கையாளும் என்று அறிவிக்கலாம்:
<activity
android:name=".MyActivity"
android:configChanges="orientation|screenSize"
... >
</activity>
`orientation` மற்றும் `screenSize` (API நிலை 13 மற்றும் அதற்கு மேற்பட்டவற்றிற்கு முக்கியமானது) சேர்ப்பதன் மூலம், உங்கள் ஆக்டிவிட்டி நோக்குநிலை மாற்றங்களை தானே கையாளும் என்று கணினிக்குச் சொல்கிறீர்கள். திரை சுழலும்போது, `onConfigurationChanged()` முறை அழைக்கப்படும்.
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Check the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
`onConfigurationChanged()`-க்குள், புதிய நோக்குநிலையின் அடிப்படையில் UI-ஐ நீங்கள் புதுப்பிக்கலாம். இந்த அணுகுமுறை தேவையற்ற வள ஏற்றுதல் மற்றும் தளவமைப்பு விரிவாக்கத்தைத் தவிர்ப்பதால், ஆக்டிவிட்டியை மீண்டும் உருவாக்குவதை விட மிகவும் திறமையானது.
b. ஆக்டிவிட்டி நிலையைச் சேமித்தல் மற்றும் மீட்டமைத்தல்
நீங்கள் உள்ளமைவு மாற்றத்தை நீங்களே கையாண்டாலும், ஆக்டிவிட்டின் நிலையைச் சேமித்து மீட்டெடுக்க வேண்டியிருக்கும். உதாரணமாக, உங்கள் ஆக்டிவிட்டில் ஒரு உரை புலம் இருந்தால், திரை சுழலும்போது பயனர் உள்ளிட்ட உரையை நீங்கள் பாதுகாக்க விரும்புவீர்கள்.
ஆக்டிவிட்டின் நிலையைச் சேமிக்க `onSaveInstanceState()` முறையையும், அதை மீட்டெடுக்க `onRestoreInstanceState()` முறையையும் பயன்படுத்தலாம்.
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putString("my_text", myTextView.getText().toString());
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
String myText = savedInstanceState.getString("my_text");
myTextView.setText(myText);
}
மாற்றாக, உள்ளமைவு மாற்றங்கள் முழுவதும் UI-தொடர்பான தரவை நிர்வகிக்கவும் மற்றும் நிலைநிறுத்தவும், SavedStateHandle உடன் ViewModels-ஐப் பயன்படுத்தலாம், இது ஒரு நவீன மற்றும் பரிந்துரைக்கப்பட்ட அணுகுமுறையாகும்.
c. மாற்று தளவமைப்புகள் (Alternative Layouts)
ஆண்ட்ராய்டு வெவ்வேறு திரை நோக்குநிலைகளுக்கு வெவ்வேறு தளவமைப்பு கோப்புகளை வழங்க உங்களை அனுமதிக்கிறது. நீங்கள் `res/layout-land/` மற்றும் `res/layout-port/` கோப்பகங்களில் தனித்தனி தளவமைப்பு கோப்புகளை உருவாக்கலாம். திரை சுழலும்போது, ஆண்ட்ராய்டு தானாகவே பொருத்தமான தளவமைப்பு கோப்பை ஏற்றும்.
லேண்ட்ஸ்கேப் மற்றும் போர்ட்ரெய்ட் நோக்குநிலைகளில் UI கணிசமாக வேறுபட வேண்டியிருக்கும் போது இந்த அணுகுமுறை பயனுள்ளதாக இருக்கும். உதாரணமாக, நீங்கள் லேண்ட்ஸ்கேப்பில் இரண்டு-பேன் தளவமைப்பையும், போர்ட்ரெய்டில் ஒற்றை-பேன் தளவமைப்பையும் காட்ட விரும்பலாம்.
d. ConstraintLayout-ஐப் பயன்படுத்துதல்
ConstraintLayout என்பது ஒரு சக்திவாய்ந்த தளவமைப்பு மேலாளர் ஆகும், இது நெகிழ்வான மற்றும் ஏற்புடைய தளவமைப்புகளை உருவாக்க உங்களை அனுமதிக்கிறது. ConstraintLayout மூலம், காட்சிகள் ஒன்றுக்கொன்று மற்றும் பெற்றோர் தளவமைப்பிற்கு சார்பாக எவ்வாறு நிலைநிறுத்தப்பட வேண்டும் என்பதைக் குறிப்பிடும் கட்டுப்பாடுகளை நீங்கள் வரையறுக்கலாம். இது வெவ்வேறு திரை அளவுகள் மற்றும் நோக்குநிலைகளுக்கு ஏற்ப மாற்றியமைக்கும் தளவமைப்புகளை உருவாக்குவதை எளிதாக்குகிறது.
2. iOS
iOS-ம் திரை நோக்குநிலை மாற்றங்களைக் கையாள வழிமுறைகளை வழங்குகிறது. இங்கே சில பொதுவான அணுகுமுறைகள்:
a. ஆட்டோ லேஅவுட் (Auto Layout)
ஆட்டோ லேஅவுட் என்பது ஒரு கட்டுப்பாடு-அடிப்படையிலான தளவமைப்பு அமைப்பாகும், இது காட்சிகள் எவ்வாறு நிலைநிறுத்தப்பட வேண்டும் மற்றும் அளவிடப்பட வேண்டும் என்பதற்கான விதிகளை வரையறுக்க உங்களை அனுமதிக்கிறது. ஆட்டோ லேஅவுட் கட்டுப்பாடுகள் உங்கள் UI வெவ்வேறு திரை அளவுகள் மற்றும் நோக்குநிலைகளுக்கு ஏற்ப மாற்றியமைப்பதை உறுதி செய்கின்றன.
ஆட்டோ லேஅவுட்டைப் பயன்படுத்தும்போது, காட்சிகளுக்கு இடையிலான உறவுகளைக் குறிப்பிடும் கட்டுப்பாடுகளை நீங்கள் பொதுவாக வரையறுப்பீர்கள். உதாரணமாக, ஒரு பட்டனை அதன் பெற்றோர் காட்சிக்குள் கிடைமட்டமாகவும் செங்குத்தாகவும் மையப்படுத்த நீங்கள் கட்டுப்படுத்தலாம். திரை சுழலும்போது, ஆட்டோ லேஅவுட் இயந்திரம் தானாகவே கட்டுப்பாடுகளை பூர்த்தி செய்ய காட்சிகளின் நிலைகளையும் அளவுகளையும் மீண்டும் கணக்கிடுகிறது.
b. அளவு வகுப்புகள் (Size Classes)
அளவு வகுப்புகள் என்பது திரை அளவுகள் மற்றும் நோக்குநிலைகளை வகைப்படுத்த ஒரு வழியாகும். iOS இரண்டு அளவு வகுப்புகளை வரையறுக்கிறது: `Compact` மற்றும் `Regular`. ஒரு சாதனம் அதன் அகலம் மற்றும் உயரத்திற்கு வெவ்வேறு அளவு வகுப்புகளைக் கொண்டிருக்கலாம். உதாரணமாக, போர்ட்ரெய்ட் நோக்குநிலையில் உள்ள ஒரு iPhone `Compact` அகல அளவு வகுப்பு மற்றும் `Regular` உயர அளவு வகுப்பைக் கொண்டுள்ளது. லேண்ட்ஸ்கேப்பில், இது பெரும்பாலும் `Compact` உயரம் மற்றும் மாடலைப் பொறுத்து `Compact` அல்லது `Regular` அகலத்தைக் கொண்டுள்ளது.
திரை அளவு மற்றும் நோக்குநிலையின் அடிப்படையில் உங்கள் UI-ஐத் தனிப்பயனாக்க அளவு வகுப்புகளைப் பயன்படுத்தலாம். உதாரணமாக, நீங்கள் வெவ்வேறு அளவு வகுப்புகளுக்கு வெவ்வேறு காட்சிகளின் தொகுப்பைக் காட்ட அல்லது வெவ்வேறு எழுத்துருக்களைப் பயன்படுத்த விரும்பலாம்.
நீங்கள் வெவ்வேறு கட்டுப்பாடுகளை உள்ளமைக்கலாம் மற்றும் Interface Builder-ல் நேரடியாகவோ அல்லது நிரலாக்கரீதியாகவோ அளவு வகுப்புகளின் அடிப்படையில் காட்சிகளை நிறுவலாம்/நீக்கலாம்.
c. வியூ கண்ட்ரோலர் சுழற்சி முறைகள்
சாதனம் சுழலும்போது அழைக்கப்படும் UIViewController வகுப்பில் iOS பல முறைகளை வழங்குகிறது:
viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator): ஒரு மாற்றத்திற்காக வியூ கண்ட்ரோலரின் காட்சி மறுஅளவிடப்படுவதற்கு முன்பு அழைக்கப்படுகிறது.viewWillLayoutSubviews(): வியூ கண்ட்ரோலரின் காட்சி அதன் துணைக்காட்சிகளை அமைப்பதற்கு சற்று முன்பு அழைக்கப்படுகிறது.viewDidLayoutSubviews(): வியூ கண்ட்ரோலரின் காட்சி அதன் துணைக்காட்சிகளை அமைத்த உடனேயே அழைக்கப்படுகிறது.
திரை சுழலும்போது தனிப்பயன் தளவமைப்பு சரிசெய்தல்களைச் செய்ய இந்த முறைகளை நீங்கள் மேலெழுதலாம்.
d. அறிவிப்பு மையம் (Notification Center)
அறிவிப்பு மையத்தைப் பயன்படுத்தி நோக்குநிலை மாற்ற அறிவிப்புகளை நீங்கள் கேட்கலாம்:
NotificationCenter.default.addObserver(self, selector: #selector(orientationChanged), name: UIDevice.orientationDidChangeNotification, object: nil)
@objc func orientationChanged() {
if UIDevice.current.orientation.isLandscape {
print("Landscape")
} else {
print("Portrait")
}
}
3. வலை மேம்பாடு (HTML, CSS, JavaScript)
வலை மேம்பாட்டில், திரை நோக்குநிலை மாற்றங்களைக் கையாள CSS மீடியா வினவல்கள் மற்றும் ஜாவாஸ்கிரிப்டைப் பயன்படுத்தலாம்.
a. CSS மீடியா வினவல்கள் (CSS Media Queries)
மீடியா வினவல்கள் திரை அளவு, நோக்குநிலை மற்றும் பிற பண்புகளின் அடிப்படையில் வெவ்வேறு ஸ்டைல்களைப் பயன்படுத்த உங்களை அனுமதிக்கின்றன. குறிப்பிட்ட நோக்குநிலைகளைக் குறிவைக்க `orientation` மீடியா அம்சத்தைப் பயன்படுத்தலாம்.
/* Portrait orientation */
@media (orientation: portrait) {
body {
background-color: lightblue;
}
}
/* Landscape orientation */
@media (orientation: landscape) {
body {
background-color: lightgreen;
}
}
நோக்குநிலையின் அடிப்படையில் தளவமைப்பு, எழுத்துருக்கள் மற்றும் பிற ஸ்டைல்களை சரிசெய்ய மீடியா வினவல்களைப் பயன்படுத்தலாம்.
b. ஜாவாஸ்கிரிப்ட் (JavaScript)
திரை நோக்குநிலை மாற்றங்களைக் கண்டறிந்து தனிப்பயன் செயல்களைச் செய்ய ஜாவாஸ்கிரிப்டைப் பயன்படுத்தலாம். `screen.orientation` API தற்போதைய நோக்குநிலை பற்றிய தகவல்களை வழங்குகிறது.
function handleOrientationChange() {
if (screen.orientation.type === "landscape-primary" || screen.orientation.type === "landscape-secondary") {
console.log("Landscape");
} else if (screen.orientation.type === "portrait-primary" || screen.orientation.type === "portrait-secondary") {
console.log("Portrait");
} else {
console.log("Unknown orientation");
}
}
window.addEventListener("orientationchange", handleOrientationChange);
மாற்றாக, மீடியா வினவல்களுடன் `matchMedia` API-ஐப் பயன்படுத்தலாம்:
const landscapeMediaQuery = window.matchMedia("(orientation: landscape)");
function handleOrientationChange(event) {
if (event.matches) {
console.log("Landscape");
} else {
console.log("Portrait");
}
}
landscapeMediaQuery.addEventListener("change", handleOrientationChange);
நோக்குநிலையின் அடிப்படையில் தளவமைப்பை மாறும் வகையில் சரிசெய்ய, வெவ்வேறு வளங்களை ஏற்ற, அல்லது பிற செயல்களைச் செய்ய ஜாவாஸ்கிரிப்ட் பயன்படுத்தப்படலாம்.
c. ஏற்பு வடிவமைப்பு கட்டமைப்புகள் (Responsive Design Frameworks)
Bootstrap, Foundation, மற்றும் Materialize CSS போன்ற கட்டமைப்புகள் ஏற்பு வடிவமைப்பிற்கான உள்ளமைக்கப்பட்ட ஆதரவை வழங்குகின்றன, இது வெவ்வேறு திரை அளவுகள் மற்றும் நோக்குநிலைகளுக்கு ஏற்ப மாற்றியமைக்கும் தளவமைப்புகளை உருவாக்குவதை எளிதாக்குகிறது. இந்த கட்டமைப்புகள் பொதுவாக நெகிழ்வான மற்றும் ஏற்புடைய UI-களை உருவாக்க ஒரு கட்ட அமைப்பு மற்றும் மீடியா வினவல்களைப் பயன்படுத்துகின்றன.
திரை நோக்குநிலையைக் கையாள்வதற்கான சிறந்த நடைமுறைகள்
திரை நோக்குநிலை மாற்றங்களைக் கையாளும்போது நினைவில் கொள்ள வேண்டிய சில சிறந்த நடைமுறைகள் இங்கே:
- தேவையற்ற ஆக்டிவிட்டி/வியூ கண்ட்ரோலர் மறுஉருவாக்கத்தைத் தவிர்க்கவும்: முடிந்தால், ஆக்டிவிட்டி அல்லது வியூ கண்ட்ரோலரை மீண்டும் உருவாக்கும் கூடுதல் சுமையைத் தவிர்க்க, உள்ளமைவு மாற்றத்தை நீங்களே கையாளவும்.
- நிலையைச் சேமித்து மீட்டெடுக்கவும்: தரவு இழப்பைத் தடுக்க எப்போதும் ஆக்டிவிட்டி/வியூ கண்ட்ரோலரின் நிலையைச் சேமித்து மீட்டெடுக்கவும். மேலும் வலுவான நிலை நிர்வாகத்திற்கு ViewModels-ஐப் பயன்படுத்தவும்.
- ஆட்டோ லேஅவுட் அல்லது ConstraintLayout-ஐப் பயன்படுத்தவும்: இந்த தளவமைப்பு அமைப்புகள் நெகிழ்வான மற்றும் ஏற்புடைய தளவமைப்புகளை உருவாக்குவதை எளிதாக்குகின்றன.
- பல சாதனங்களில் சோதிக்கவும்: உங்கள் பயன்பாடு சரியாக செயல்படுவதை உறுதிசெய்ய, வெவ்வேறு திரை அளவுகள் மற்றும் நோக்குநிலைகளைக் கொண்ட பல்வேறு சாதனங்களில் அதைச் சோதிக்கவும்.
- அணுகல்தன்மையைக் கருத்தில் கொள்ளுங்கள்: திரை சுழலும்போது உங்கள் பயன்பாடு ஊனமுற்ற பயனர்களுக்கு அணுகக்கூடியதாக இருப்பதை உறுதிசெய்யவும்.
- தெளிவான காட்சி குறிப்புகளை வழங்கவும்: திரை சுழலும்போது UI கணிசமாக மாறினால், மாற்றங்களைப் புரிந்துகொள்ள பயனர்களுக்கு உதவ தெளிவான காட்சி குறிப்புகளை வழங்கவும்.
- ஒரு குறிப்பிட்ட நோக்குநிலையைத் திணிப்பதைத் தவிர்க்கவும் (தேவைப்பட்டாலன்றி): பயனர்கள் தங்களுக்கு விருப்பமான நோக்குநிலையில் தங்கள் சாதனத்தைப் பயன்படுத்த எப்போதுமே அனுமதிக்கவும். ஒரு நோக்குநிலையைத் திணிப்பது எரிச்சலூட்டுவதாகவும் असुविधाजनकமாகவும் இருக்கலாம். பயன்பாட்டின் செயல்பாட்டிற்கு இது அவசியமானால் மட்டுமே (எ.கா., லேண்ட்ஸ்கேப் பயன்முறை தேவைப்படும் ஒரு கேம்) நோக்குநிலையைப் பூட்டவும். நீங்கள் நோக்குநிலையைப் பூட்டினால், அதற்கான காரணத்தை பயனருக்குத் தெளிவாகத் தெரிவிக்கவும்.
- செயல்திறனுக்காக மேம்படுத்தவும்: செயல்திறன் சிக்கல்களைத் தவிர்க்க, திரை சுழலும்போது செய்யப்பட வேண்டிய வேலையின் அளவைக் குறைக்கவும்.
- சார்பு அலகுகளைப் பயன்படுத்தவும்: உங்கள் தளவமைப்பில் அளவுகளையும் நிலைகளையும் வரையறுக்கும்போது, உங்கள் UI வெவ்வேறு திரை அளவுகளில் சரியாக அளவிடப்படுவதை உறுதிசெய்ய, முழுமையான அலகுகளுக்குப் (எ.கா., பிக்சல்கள்) பதிலாக சார்பு அலகுகளைப் (எ.கா., சதவீதங்கள், `dp`, `sp`) பயன்படுத்தவும்.
- இருக்கும் நூலகங்கள் மற்றும் கட்டமைப்புகளைப் பயன்படுத்துங்கள்: ஏற்பு வடிவமைப்பு மற்றும் திரை நோக்குநிலை கையாளுதலுக்கு ஆதரவளிக்கும் ஏற்கனவே உள்ள நூலகங்கள் மற்றும் கட்டமைப்புகளைப் பயன்படுத்திக் கொள்ளுங்கள்.
நோக்குநிலை பூட்டுதல் மற்றும் பயனர் அனுபவம்
பயனர்கள் தங்கள் சாதனங்களை சுதந்திரமாக சுழற்ற அனுமதிப்பதே பொதுவாக சிறந்ததாக இருந்தாலும், நீங்கள் திரை நோக்குநிலையைப் பூட்ட விரும்பும் சூழ்நிலைகள் உள்ளன. உதாரணமாக, ஒரு முழுத்திரை வீடியோ பிளேயர் உகந்த பார்வைக்கு நோக்குநிலையை லேண்ட்ஸ்கேப் பயன்முறைக்கு பூட்டலாம்.
இருப்பினும், நோக்குநிலை பூட்டுதலை குறைவாகப் பயன்படுத்துவதும், பயனருக்கு தெளிவான காரணத்தை வழங்குவதும் முக்கியம். ஒரு நோக்குநிலையைத் திணிப்பது எரிச்சலூட்டுவதாகவும், உங்கள் பயன்பாட்டை அணுகுவதைக் கடினமாக்கலாம்.
திரை நோக்குநிலையை எவ்வாறு பூட்டுவது
ஆண்ட்ராய்டு
`AndroidManifest.xml` கோப்பில் `screenOrientation` பண்புக்கூறை அமைப்பதன் மூலம் ஆண்ட்ராய்டில் திரை நோக்குநிலையைப் பூட்டலாம்:
<activity
android:name=".MyActivity"
android:screenOrientation="landscape"
... >
</activity>
நிரலாக்கரீதியாகவும் நீங்கள் நோக்குநிலையைப் பூட்டலாம்:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
iOS
iOS-ல், `Info.plist` கோப்பில் ஆதரிக்கப்படும் நோக்குநிலைகளைக் குறிப்பிடலாம். உங்கள் வியூ கண்ட்ரோலரில் `supportedInterfaceOrientations` முறையை மேலெழுதலாம்:
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .landscape
}
உலகளாவிய பரிசீலனைகள்
ஒரு உலகளாவிய பார்வையாளர்களுக்காக வடிவமைக்கும்போது, திரை நோக்குநிலை தொடர்பாக பின்வருவனவற்றை மனதில் கொள்ளுங்கள்:
- வலமிருந்து இடமாக (RTL) தளவமைப்புகள்: உங்கள் UI RTL மொழிகளுக்கு எவ்வாறு மாற்றியமைக்கப்படும் என்பதைக் கவனியுங்கள். அரபு மற்றும் ஹீப்ரு போன்ற சில மொழிகள் வலமிருந்து இடமாக எழுதப்படுகின்றன. RTL பயன்முறையில் உங்கள் தளவமைப்பு சரியாக பிரதிபலிப்பதை உறுதிசெய்யவும். ஆட்டோ லேஅவுட் மற்றும் ConstraintLayout பெரும்பாலும் RTL தளவமைப்புகளுக்கு உள்ளமைக்கப்பட்ட ஆதரவை வழங்குகின்றன.
- கலாச்சார விருப்பத்தேர்வுகள்: சாதனப் பயன்பாடு தொடர்பான கலாச்சார விருப்பத்தேர்வுகளை கவனத்தில் கொள்ளுங்கள். பெரும்பாலான பயனர்கள் போர்ட்ரெய்ட் மற்றும் லேண்ட்ஸ்கேப் பயன்முறைகளுக்குப் பழகியிருந்தாலும், சில கலாச்சாரங்களில் நுட்பமான விருப்பத்தேர்வுகள் இருக்கலாம். வெவ்வேறு பிராந்தியங்களைச் சேர்ந்த பயனர்களுடன் சோதனை செய்வது மதிப்புமிக்க நுண்ணறிவுகளை வழங்க முடியும்.
- பல்வகைப்பட்ட பயனர்களுக்கான அணுகல்தன்மை: எப்போதும் அணுகல்தன்மைக்கு முன்னுரிமை அளியுங்கள். திரை நோக்குநிலையைப் பொருட்படுத்தாமல், உங்கள் பயன்பாடு ஊனமுற்றவர்களால் பயன்படுத்தக்கூடியதாக இருப்பதை உறுதிசெய்யவும். இதில் படங்களுக்கு மாற்று உரையை வழங்குதல், போதுமான வண்ண மாறுபாட்டை உறுதி செய்தல் மற்றும் உதவி தொழில்நுட்பங்களை ஆதரித்தல் ஆகியவை அடங்கும்.
திரை நோக்குநிலை கையாளுதலைச் சோதித்தல்
உங்கள் பயன்பாடு திரை நோக்குநிலை மாற்றங்களைச் சரியாகக் கையாளுகிறதா என்பதை உறுதிப்படுத்த முழுமையான சோதனை அவசியம். சோதனை செய்வதற்கான சில குறிப்புகள் இங்கே:
- எமுலேட்டர்கள் மற்றும் உண்மையான சாதனங்களைப் பயன்படுத்தவும்: பரந்த அளவிலான திரை அளவுகள் மற்றும் வன்பொருள் உள்ளமைவுகளை உள்ளடக்குவதற்கு உங்கள் பயன்பாட்டை எமுலேட்டர்கள் மற்றும் உண்மையான சாதனங்கள் இரண்டிலும் சோதிக்கவும்.
- வெவ்வேறு நோக்குநிலைகளில் சோதிக்கவும்: உங்கள் பயன்பாட்டை போர்ட்ரெய்ட் மற்றும் லேண்ட்ஸ்கேப் நோக்குநிலைகளிலும், ஆதரிக்கப்பட்டால் ரிவர்ஸ் போர்ட்ரெய்ட் மற்றும் ரிவர்ஸ் லேண்ட்ஸ்கேப்பிலும் சோதிக்கவும்.
- வெவ்வேறு திரை அளவுகளுடன் சோதிக்கவும்: UI சரியாக அளவிடப்படுகிறதா என்பதை உறுதிப்படுத்த, வெவ்வேறு திரை அளவுகளைக் கொண்ட சாதனங்களில் உங்கள் பயன்பாட்டைச் சோதிக்கவும்.
- வெவ்வேறு எழுத்துரு அளவுகளுடன் சோதிக்கவும்: உரை படிக்கக்கூடியதாக இருப்பதை உறுதிப்படுத்த, வெவ்வேறு எழுத்துரு அளவுகளுடன் உங்கள் பயன்பாட்டைச் சோதிக்கவும்.
- அணுகல்தன்மை அம்சங்கள் இயக்கப்பட்ட நிலையில் சோதிக்கவும்: ஊனமுற்ற பயனர்களுக்கு அணுகக்கூடியதாக இருப்பதை உறுதிப்படுத்த, ஸ்கிரீன் ரீடர்கள் போன்ற அணுகல்தன்மை அம்சங்கள் இயக்கப்பட்ட நிலையில் உங்கள் பயன்பாட்டைச் சோதிக்கவும்.
- தானியங்கு சோதனை (Automated Testing): திரை நோக்குநிலை மாற்றங்களை உள்ளடக்கிய தானியங்கு UI சோதனைகளைச் செயல்படுத்தவும். இது பின்னடைவுகளைப் பிடிக்கவும், வெளியீடுகள் முழுவதும் நிலையான நடத்தையை உறுதிப்படுத்தவும் உதவும்.
முடிவுரை
திரை நோக்குநிலையை திறம்பட கையாள்வது மொபைல் மற்றும் வலை மேம்பாட்டின் ஒரு முக்கிய அம்சமாகும். ஒவ்வொரு தளத்திலும் கிடைக்கும் வெவ்வேறு நுட்பங்களைப் புரிந்துகொள்வதன் மூலமும், சிறந்த நடைமுறைகளைப் பின்பற்றுவதன் மூலமும், பயனர் தங்கள் சாதனத்தை எவ்வாறு வைத்திருந்தாலும், தடையற்ற மற்றும் சுவாரஸ்யமான பயனர் அனுபவத்தை வழங்கும் பயன்பாடுகளை நீங்கள் உருவாக்கலாம். உங்கள் பயன்பாடு பலதரப்பட்ட பார்வையாளர்களுக்கு அணுகக்கூடியதாகவும், பயனர் நட்புடையதாகவும் இருப்பதை உறுதிசெய்ய, சோதனைக்கு முன்னுரிமை அளிப்பதையும், உங்கள் வடிவமைப்புத் தேர்வுகளின் உலகளாவிய தாக்கங்களைக் கருத்தில் கொள்வதையும் நினைவில் கொள்ளுங்கள்.